﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ComputerGraphics.Graphics;
using ComputerGraphics.Geometry;

namespace ComputerGraphics.Graphics
{
    public class Texture
    {
        private ColorTriple diffuseColor;
        private double ambientRflctCoef;
        private double diffuseRflctCoef;
        private double specularCoeff;
        private double transmissionCoeff;
        private double eta;

        public Texture(ColorTriple diffuseColor, double ambientRflctCoef, double diffuseRflctCoef, double paramSpecular, double transmissionCoeff, double eta)
        {
            this.diffuseColor = diffuseColor;
            this.ambientRflctCoef = ambientRflctCoef;
            this.diffuseRflctCoef = diffuseRflctCoef;
            this.specularCoeff = paramSpecular;
            this.transmissionCoeff = transmissionCoeff;
            this.eta = eta;
        }

        public ColorTriple DiffuseColor
        {
            get { return diffuseColor; }
        }

        public double AmbientReflectionCoefficient
        {
            get { return ambientRflctCoef; }
        }

        public double DiffuseReflectionCoefficient
        {
            get { return diffuseRflctCoef; }
        }

        public double SpecularCoefficient
        {
            get { return specularCoeff; }
        }

        public double TransmissionCoefficient
        {
            get { return transmissionCoeff; }
        }

        public double Eta
        {
            get { return eta; }
        }
    }
}
